Songs played from a record are traditionally represented as analog waveforms. However, in recent times audio signals have been digitized and stored as digital signals. For example, songs stored on a Compact Disc(CD) are kept in digital form. When signals are stored or transmitted in digital form they are usually represented as bits (0's and '1s). A signal such as an audio signal is considered a one-dimensional signal because the signal can be defined by an amplitude at a given time.
The communication systems used to transmit digital signals are very costly. The more bits that need to be transmitted, the longer it may take for the full signal to get to the destination. Therefore different techniques are used to compress the signal so that less bits need to be transmitted which in turn lowers cost and produces real-time signals.
One technique for compressing signals is known as "subband coding." Subband coding utilizes filters to separate the signal into frequency bands. FIG. 1 displays a subband coding system. In FIG. 1, a signal 10 passes through a set of bandpass filters housed in an analysis system 20. The analysis system 20 separates the original signal 10 into subbands. The subbands are then sampled by a sampler 30 at a fast enough rate (i.e., a minimum of twice the number of subbands per unit time) to allow recovery of a sampled version of the information(perfect reconstruction). Once sampled, the subband signals are ready for encoding, transmitting and decoding as denoted by 40. The subband signal is reconstructed by the sampler 50, and then recombined into one signal through a set of filters in a synthesis process 60. The principals of subband coding techniques are described generally in M. Vetterli and J. Kovacevic Wavelets and Subband Coding, Prentice Hall, Prentice-Hall, Englewood Cliffs, N.J., 1995.
An analysis system 20 that processes one dimension signals is known as a one-dimensional analysis system. FIG. 2 displays a schematic of the analysis system for a one-dimensional system. The signal 10 is fed into the analysis system 20. The analysis system 20 is composed of bandpass analysis filters 25, which separate the signal into subband signals 27. The signal 10 can be separated into bits where each group of bits represents the magnitude of the audio signal at a point in time. This may be represented as X, where X is composed of xn! samples where n is unit time. Therefore, xn! could be a row or column matrix of a sequence of values representing the intensity of each pixel read in serially one at a time. The bandpass analysis filters 25 could be represented as hn! where H is the total of all the bandpass analysis filters. H would be several row or column matrices (one for each bandpass analysis filter), put together to form a matrix. The subband signals may be represented as yn!, where Y represents all of the subband signals. The matrix multiplication of the input signal(X) denoted by 10, and the bandpass analysis filters(H) denoted by 25, would produce the Subband signals(Y) denoted by 27. Representing the multi-dimensional signal 10 as X, the bandpass analysis filters 25 as H and the subband signals 27 as Y, the analysis system 20 may be represented as Y=H.sup.T *X, where H.sup.T is the transpose of H.
The filters H are circuit elements that can be defined mathematically by matrices. An example of a one-dimensional encoding system, the analysis system is defined by H=WG, where W is a windowing matrix and G is a modulation matrix based on a sinusoidal function. FIG. 3 displays a frequency based representation of the set of one-dimensional bandpass filters. The graphs in FIG. 3 are the magnitude Fourier response of the following equation: EQU h.sub.i n!=wn!*cos(f.sub.i n!),
where h.sub.i n! represents a bandpass analysis filter, wn! represents the window, and cos(f.sub.i n!) are the cosine values in the G matrix associated with the filter, where f.sub.i n! is the impulse response at the time n.
The graph in FIG. 3 is the magnitude frequency response of the filters(h.sub.1, h.sub.2, h.sub.3, h.sub.4). The filters are plotted as a function of frequency (x axis). The magnitude frequency response of the subband analysis filters h.sub.1 n!, h.sub.2 n!, h.sub.3 n!, and h.sub.4 n!, are represented by 100, 110, 120 and 130, respectively. In FIG. 3, each subband filter separates the signal xn! into a different frequency range. The concept of moving the signal into different frequency ranges is known as modulation. Applying the G matrix to the input signal has the physical effect of shifting the filters along the frequency spectrum by modulating the input signal xn!. The window W systematically parses through the input signal xn! so that different portions of the signal xn! can be modulated. The technique of parsing through the input signal with a window and then modulating the input signal is an efficient way to implement filters because only one prototype filter has to be built and then that prototype filter is applied to different parts of the input signal. The modulation function G modulates the part of the signal xn! that is in the Window (W) to different parts of the frequency spectrum using the filters 100, 110, 120, and 130 shown in FIG. 3.
There are similarities between designing a digital filter and designing an analog circuit. In designing an analog circuit the circuit designer has to put together the elements of the circuit (i.e. resistors, capacitors, transistors) that perform the desired function of the circuit (i.e. generating voltage, current). The design of digital filters is no different. A filter designer has to put together the combination of components (i.e. adders, subtractors, multipliers, and delay elements) that will perform the desired operation on the signal. Since the circuitry that is used in filters can be expressed as mathematical equations and matrices, the filter designer has to choose the mathematical equations and matrices that will perform the desired function on the signal being processed.
Choosing filter components is like putting together a puzzle. A designer has to choose the components that will produce the desired output signal. Since a filter is defined mathematically by Y=HX, where H is the filter matrix, the values of the matrices that make up H (i.e. W*G), have to be chosen very carefully. In a puzzle each piece has to fit together to produce the picture, in the same way in a filter, each matrix has to fit together to produce the desired output signal.
In filter design, it is often difficult to find simple circuits (matrices), that fit together to produce the required signal. In addition, the difficulty of finding simple circuits that fit together, is increased because the modulation matrix (G) is based on a sinusoidal function (ie. sine, cosine). Since G is based on a sine or cosine, it limits the possible values that the G matrix can have, and since the filter is like a puzzle, the possible values of W are also limited.
All the possible values that a matrix can have are called the search space of the matrix. The larger the search space of the matrix the greater the variety of designs that can be used for the filters. The smaller the search space, the smaller the variety of designs. It would be advantageous to increase the search space, thereby increasing the variety of circuit elements that can be used to implement a filter.
Filters are also characterized by bandwidth when used for the coding of audio information (audio coding). In an analysis system each filter removes the part of the original signal X that falls within the bandwidth of the filter. For example, everything from 0-100 hertz might be removed by the first filter, everything from 100-200 hertz by the second filter and so on. The range of values that a filter can extract (e.g. 0-100 hertz) is considered the bandwidth of the filter. FIG. 4 displays frequency bands extracted by a subband coding scheme. An audio signal 200 is plotted as a function of frequency on the x axis and bandwidth on the y axis. The regions denoted by 210, 220, 230 and 240 represent the bandwidth of the filters H.sub.1 (f), H.sub.2 (f), H.sub.3 (f) and H.sub.N (f), respectively, where f is frequency. Therefore, H.sub.1 (f) defined by 210, filters signals in the range from 0-100 hertz, H.sub.2 (f) filters signals in the range from 100-200 hertz, H.sub.3 (f) filters signals in the range from 200-300 hertz and so on. Most analysis systems normally have filters that have uniform bandwidths. In other words, in FIG. 4, H.sub.1 (f), H.sub.2 (f), H.sub.3 (f) and H.sub.N (f), all have a bandwidth of 100 hertz.
A mixed signal representation has been created known as a tiling. The mixed signal representation displays a signal in terms of both, time and frequency. FIG. 5 shows how the tiling is developed. In FIG. 5 the x-axis represents the time axis, and the y-axis represents a signal f(t). The majority of the energy in the magnitude waveform 201 is centered between 5 and 10 seconds. The y-axis displays a waveform of the Fourier transform 202, of the signal. The majority of the energy in the waveform of the Fourier transform 202 is localized between the values of 100 hz and 200 hz. Therefore the time-frequency tiling would be represented by the block 203. The block 203 shows that the energy of the signal is localized in time between 5 seconds and 10 seconds, and the energy in the frequency domain is localized between 100 hz and 200 hz. Therefore the tiling 203 is a way of displaying both the energy in the time domain and the frequency domain on one graph.
A time-frequency tiling representations of the filters presented in FIG. 4, is given in FIG. 6. The time-frequency tiling plot of FIG. 6 is denoted by time on the x-axis and frequency on the y-axis. The time-frequency tiling is a plot of the amount of signal energy contained in a bandwidth region. In FIG. 6, the areas 210, 220, 230, and 240 correspond to the bandwidth regions 210, 220, 230, and 240 of FIG. 4. When the bandwidth of the filters are nearly uniform, the energy of the signal that is filtered by the bandwidth filters is nearly uniform. This is denoted in FIG. 6 by the equal areas under each region 210, 220, 230, and 240.
The human ear does not hear audio sounds in the same way that communications systems process an audio signal. FIG. 7 gives a graph displaying the bandwidth response for a set of non-uniform filters. The human ear processes audio information in a manner similar to that displayed in FIG. 7 (the way the human ear processes information is called the critical band structure of the human ear). As detailed in FIG. 7, the bandwidth regions are non-uniform, for example the first region 300 has a bandwidth of 100 hertz while the last region 330 has a band width of nearly 5000 hertz. Each of these regions correspond to a filter in a signal processing system (e.g, encoder, decoder).
For the foregoing reasons it would be advantageous to develop non-uniform filters. To accomplish this task filters would have to be developed that have variable bandwidths. Several attempts have been made to design these non-uniform filters. One class of solutions have utilized analytical models to create non-uniform filters J. Kovacevic & Vetterli "Perfect reconstruction filter banks with rational sampling factors", IEEE Transactions on Signal Processing, June 1993. However, they are very difficult to implement. A second class of solutions have tried a numerical approach to designing non-uniform filter design, Nayebi et. al. However they have been found to be computationally intensive. Lastly, a third technique has been proposed by J. Princen, "The design of nonuniform modulated filter banks", submitted to IEEE Transactions on Signal Processing. However this technique does not provide perfect reconstruction of the audio signal after it has been filtered.